A tool center point is a six-dimensional vector defining the tool tip position of a robotic tool with respect to a robot face plate. The tool center point is essential so that the robot knows precisely where the tool is located. Although a robot is calibrated to know the precise location of the robot face plate at any given time, a robot may not precisely know the tool center point for a specific tool due to a variety of reasons. For example, the tool center point for any specific tool of a given tool type will vary between the individual tools of that type. Consequently, pre-specified tool center points are not entirely accurate for any specific individual tool of a tool type. Additionally, the center point may change due to a crash or due to wearing of the tool.
For example, FIG. 1 illustrates a welding tool 1 having a single welding wire 2 in a substantially straight configuration, as known in the prior art. As shown in FIG. 1, a tool center point (TCP) 3 of the welding wire 2 is located in a known or learned calibrated position (e.g. at a tip of the welding wire 2).
FIG. 2 illustrates the welding wire 2 of the welding tool 1 in a bent configuration. As shown in FIG. 2, a location of the tip of the welding wire 2 has been changed from the known or learned calibrated position. Therefore, the known or learned calibrated position of the TCP 3 is no longer accurate.
As another example, FIG. 3 illustrates a welding tool 4 having a pair of tandem welding wires 5,6 in a standard configuration, as known in the prior art. It is understood that a tool center point (TCP) of the welding tool 4 can be determined by the configuration of at least one of the welding wires 5, 6. Accordingly, where at least one of the welding wires 5, 6 has been bent or moved from the standard configuration, the TCP of the welding tool 4 is no longer accurate, as illustrated in FIGS. 4 and 5.
Current methods of determining the tool center point and monitoring the tool center point during robot operations provide for correcting a robot program if the tool position changes due to a crash, tool change or other extraneous factors.
One known method for determining a tool center point is physically measuring the location and orientation of the tool with respect to the robot face plate and entering the measured tool center point. Subsequent to entering the initially measured tool center point, the tool is swiveled about the position assumed to be the tool center point. If the tip of the tool moves, the assumed center point is adjusted. When the tip of the tool does not move when pivoted about the assumed tool center point, the appropriate tool center point has been achieved. This procedure takes approximately 15 minutes for a skilled technician and has an accuracy of about ±8 mm. This particular method requires a skilled technician, a significant amount of downtime for a robot and only offers a minimal amount of accuracy.
Shortcomings of prior art include:                calibration relies on a manually taught pointer tool and calibration frame;        typical systems are subjected to ambient light;        user frame must be taught manually after training a precision tool; and        a special IO is dedicated to the system increasing the cost of equipment.        
It would be desirable to develop a system and method for setting a tool center point (TCP) of a robotic tool, wherein the system and the method overcome the shortcomings of the prior art discussed above.